home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gekkan Dennou Club 147
/
Gekkan Dennou Club - 2000.8 Vol. 147 (Japan).7z
/
Gekkan Dennou Club - 2000.8 Vol. 147 (Japan) (Track 1).bin
/
fdimg
/
oh!.2hd
/
OH!DEN_B.LZH
/
TOOLS
/
CDC
/
CDCSXSRC.LZH
/
YOU200.MAC
< prev
Wrap
Text File
|
1995-03-20
|
4KB
|
256 lines
*━━━□ □━━━*
*
* マクロ定義ファイル V2.00
*
* (C)You Utzse/電脳魔術団/Mankaiseisakujo/1995
*━━━□ □━━━*
.nlist
SXCALL macro num,cnt *[SXコール呼び出しマクロ]
dc.w num
.if cnt<9
.if cnt<>0
addq.l #cnt,sp
.endif
.else
lea.l cnt(sp),sp
.endif
.endm
SX macro num,cnt *[SXコール呼び出しマクロ]
dc.w num
.if cnt<9
.if cnt<>0
addq.l #cnt,sp
.endif
.else
lea.l cnt(sp),sp
.endif
.endm
SXSUB macro num,cnt *[サブルーチン呼び出しマクロ]
jbsr num
.if cnt<9
.if cnt<>0
addq.l #cnt,sp
.endif
.else
lea cnt(sp),sp
.endif
.endm
OPMSET macro callname,rg2,rg3,rg4,rg5
movem.l d2-d3/a1-a2,-(sp)
move.l #rg2,d2
move.l #rg3,d3
lea.l rg4,a1
lea.l rg5,a2
moveq.l #callname,d1
moveq.l #$f0,d0
trap #15
movem.l (sp)+,d2-d3/a1-a2
.endm
ZMSSET macro callname,rg2,rg3,rg4,rg5
movem.l d2-d3/a1-a2,-(sp)
move.l #rg2,d2
move.l #rg3,d3
lea.l rg4,a1
lea.l rg5,a2
moveq.l #callname,d1
trap #3
movem.l (sp)+,d2-d3/a1-a2
.endm
LASCIIS .macro string *[LASCII文字列作成マクロ]
.local startStr,endStr *for HAS
.ifdef AS2
.fail -1
.endif
dc.b endStr-startStr
startStr: dc.b string
endStr:
.even
.endm
LASCIIZ .macro string
.local startStr,endStr *for HAS
.ifdef AS2
.fail -1
.endif
dc.b endStr-startStr
startStr: dc.b string
endStr:
dc.b 0
.even
.endm
SETPORT macro winptr
pea.l winptr
SXCALL __GMSetGraph,4
.endm
SETPORT2 macro winptr
move.l winptr,-(sp)
SXCALL __GMSetGraph,4
.endm
SETPORT3 macro winptr
.if WINTYPE='H'
pea.l winptr
SX __GMSetGraph,4
.else
.if WINTYPE='P'
move.l winptr,-(sp)
SX __GMSetGraph,4
.endif
.endif
.endm
Xpea macro winptr
.if WINTYPE='H'
pea.l winptr
.else
.if WINTYPE='P'
move.l winptr,-(sp)
.endif
.endif
.endm
Xlea macro winptr,reg
.if WINTYPE='H'
lea.l winptr,reg
.else
.if WINTYPE='P'
move.l winptr,reg
.endif
.endif
.endm
SETSIZE macro winptr
.ifdef WINOPT2
SETPORT3 winptr
move.w #WINOPT2,-(SP)
SXCALL $A22D,2 *__WMOptionSet
.endif
.endm
HDL2PTR macro sreg,hreg
move.l sreg,hreg
move.l (hreg),hreg
.endm
*
*ショートカットキーの処理
*
SCUT macro ckey,shftk
move.l eventRec_ShiftBit(a5),d0
ifne <and.l #shftk,d0>
move.w #ckey,d0
cmp.w eventRec_whom1(a5),d0
else
moveq #-1,d0
endif
.endm
~T macro
moveq #T_RET,d0
.endm
~F macro
moveq #F_RET,d0
.endm
movqw macro cnt
moveq.l #cnt,d0
move.w d0,-(sp)
.endm
movql macro cnt
pea.l cnt.w
.endm
*━━━□ モジュールタイプ □━━━*
OBJECT equ 'OBJ'<<8 * 実行形式のプログラム
OBJECTR equ 'OBJR' * 再入可能プログラム
OBJECTC equ 'OBJC' * 再入できないプログラム
OBJECTO equ 'OBJO' * 同時に複数実行できないプログラム
.text
*━━━□ レクタングルレコード □━━━*
.offset 0
Left ds.w 1 *0
Top ds.w 1 *2
Right ds.w 1 *4
Bottom ds.w 1 *6
.text
*━━━□ ウィンドウオプション □━━━*
WO_NON equ %0000
WO_SCRBAR equ %0001 *スクロールバーあり
WO_CLIP equ %0010 *クリップあり
WO_DRV equ %0100 *ドライブ表示あり
WO_SIZE_B equ %1000 *サイズボタン表示可
WO_SIZE_B2 equ %100000000 *サイズボタン表示する
WO_ALLOW equ %1000000000 *矢印あり
WO_CLIPON equ %1000000000000000 *クリップのオンオフ
.text
*━━━□ ユーザーシンボル □━━━*
*ファイルモード
ROPEN equ 0 *読み込み用
WOPEN equ 1 *書き出し用
RWOPEN equ 2 *読み書き両用
*ASCII CODE
CR equ $0D
LF equ $0A
TAB equ $09
SPACE equ $20
N_menu equ $0 *ノーマルメニュー
T_menu equ $1 *タイトル付メニュー
YELLOW_F equ 1 *黄旗用
*OPT1KB equ 2 *OPT.1キービットチェック
*EH_OPT1 equ 2 *OPT.1キービットチェック
T_RET equ 0 *正常リターン値
F_RET equ -1 *エラーリターン値
ASC_Z equ -1
L_ASC equ 0
CBOX_ON equ -1
CBOX_OFF equ 0
TRUE equ -1
FALSE equ 0
MNuInact equ 0
MNuAct equ 1
SW_CHK equ 0
SW_SAVE equ 1
SW_EXCHG equ 2
.list